
package com.segment.dcore.dubbo.model;


import com.segment.dcore.base.utils.ToString;

import java.util.Map;

/**
 * 跟踪链路对象
 *
 * Created by huapeng.hhp on 2017/2/27.
 */
public class DubboTraceLog extends ToString {

	private static final long serialVersionUID = 4224822203698753738L;
	/**
	 * 自增深度
	 */
	private int depth;
	/**
	 * 自增序号
	 */
	private int order;
	/**
	 * 调用入口名
	 */
	private String entryName;
	/**
	 * 调用链路ID
	 */
	private String contextId;
	/**
	 * 业务数据
	 */
	private Map<String, Object> attachments;
	/**
	 * 调用链路中的应用名
	 */
	private String appName;
	/**
	 * 当前毫秒
	 */
	private long currentTimeMillis;
	/**
	 * 调用远程地址
	 */
	private String invokeRemoteHost;
	/**
	 * 调用远程端口
	 */
	private int invokeRemotePort;
	/**
	 * 调用本地地址
	 */
	private String invokeLocalHost;
	/**
	 * 调用本地端口
	 */
	private int invokeLocalPort;
	/**
	 * 调用方法 服务名.方法名
	 */
	private String invokeMethod;
	/**
	 * 版本号
	 */
	private String version;
	/**
	 * 响应时间
	 */
	private long responseTime;
	/**
	 * 调用渠道 DUBBO_PROVIDER > dubbo调用者, DUBBO_COMSUMER > dubbo消息者
	 */
	private String InvokeChannel;
	/**
	 * 调用结果
	 */
	private String invokeResult;
	/**
	 * 入参
	 */
	private Object[] params;
	/**
	 * 出参
	 */
	@SuppressWarnings("rawtypes")
	private Map resultData;

	/**
	 * 调用是否成功
	 */
	private boolean success;

	public int getDepth() {
		return depth;
	}

	public void setDepth(int depth) {
		this.depth = depth;
	}

	public int getOrder() {
		return order;
	}

	public void setOrder(int order) {
		this.order = order;
	}

	public String getEntryName() {
		return entryName;
	}

	public void setEntryName(String entryName) {
		this.entryName = entryName;
	}

	public String getContextId() {
		return contextId;
	}

	public void setContextId(String contextId) {
		this.contextId = contextId;
	}

	public Map<String, Object> getAttachments() {
		return attachments;
	}

	public void setAttachments(Map<String, Object> attachments) {
		this.attachments = attachments;
	}

	public String getAppName() {
		return appName;
	}

	public void setAppName(String appName) {
		this.appName = appName;
	}

	public long getCurrentTimeMillis() {
		return currentTimeMillis;
	}

	public void setCurrentTimeMillis(long currentTimeMillis) {
		this.currentTimeMillis = currentTimeMillis;
	}

	public String getInvokeRemoteHost() {
		return invokeRemoteHost;
	}

	public void setInvokeRemoteHost(String invokeRemoteHost) {
		this.invokeRemoteHost = invokeRemoteHost;
	}

	public int getInvokeRemotePort() {
		return invokeRemotePort;
	}

	public void setInvokeRemotePort(int invokeRemotePort) {
		this.invokeRemotePort = invokeRemotePort;
	}

	public String getInvokeLocalHost() {
		return invokeLocalHost;
	}

	public void setInvokeLocalHost(String invokeLocalHost) {
		this.invokeLocalHost = invokeLocalHost;
	}

	public int getInvokeLocalPort() {
		return invokeLocalPort;
	}

	public void setInvokeLocalPort(int invokeLocalPort) {
		this.invokeLocalPort = invokeLocalPort;
	}

	public String getInvokeMethod() {
		return invokeMethod;
	}

	public void setInvokeMethod(String invokeMethod) {
		this.invokeMethod = invokeMethod;
	}

	public String getVersion() {
		return version;
	}

	public void setVersion(String version) {
		this.version = version;
	}

	public long getResponseTime() {
		return responseTime;
	}

	public void setResponseTime(long responseTime) {
		this.responseTime = responseTime;
	}

	public String getInvokeChannel() {
		return InvokeChannel;
	}

	public void setInvokeChannel(String invokeChannel) {
		InvokeChannel = invokeChannel;
	}

	public String getInvokeResult() {
		return invokeResult;
	}

	public void setInvokeResult(String invokeResult) {
		this.invokeResult = invokeResult;
	}

	public Object[] getParams() {
		return params;
	}

	public void setParams(Object[] params) {
		this.params = params;
	}

	public Map getResultData() {
		return resultData;
	}

	public void setResultData(Map resultData) {
		this.resultData = resultData;
	}

	public boolean isSuccess() {
		return success;
	}

	public void setSuccess(boolean success) {
		this.success = success;
	}
}
